﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GenericExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Point<int> p1 = new Point<int>() { X = 0, Y = 0 };
            Point<double> p2 = new Point<double>() { X = 0.0, Y = 0.0 };

            Nothing<string> n = new Nothing<string>();

            Type t = typeof(int);


            dynamic d = new
            {
                Name = "John",
                Age = 30
            };

            dynamic c = 5;
            Console.WriteLine(d.Name);
            Console.WriteLine(d.GetType());
            Console.WriteLine(c.GetType());

            Enumerable.Range(0, 10).Select((i) => new { });

            var u = GetObject();
        }

        static dynamic GetObject()
        {
            return new
            {
                Name = "John",
                Age = 30
            };
        }
    }
}
